7861e9a5e2512800a33a3b9afe965ec03d3b2e36,community/kernel/src/main/java/org/neo4j/kernel/impl/nioneo/store/RelationshipGroupStore.java,RelationshipGroupStore,updateRecord,#RelationshipGroupRecord#PersistenceWindow#boolean#,168
Before Change
{
long id = record.getId();
registerIdFromUpdateRecord( id );
Buffer buffer = window.getOffsettedBuffer( id );
if ( record.inUse() || force )
{
long nextMod = record.getNext() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (record.getNext() & 0x700000000L) >> 31;
long nextOutMod = record.getFirstOut() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (record.getFirstOut() & 0x700000000L) >> 28;
long nextInMod = record.getFirstIn() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (record.getFirstIn() & 0x700000000L) >> 31;
long nextLoopMod = record.getFirstLoop() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (record.getFirstLoop() & 0x700000000L) >> 28;
buffer
// [ , x] in use
// [ ,xxx ] high next id bits
// [ xxx, ] high firstOut bits
.put( (byte) (nextOutMod | nextMod | 1) )
// [ ,xxx ] high firstIn bits
// [ xxx, ] high firstLoop bits
.put( (byte) (nextLoopMod | nextInMod) )
After Change
{
long id = record.getId();
registerIdFromUpdateRecord( id );
cursor.setOffset( (int) (id * RECORD_SIZE % pageSize) );
if ( record.inUse() || force )
{
long nextMod = record.getNext() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (record.getNext() & 0x700000000L) >> 31;
long nextOutMod = record.getFirstOut() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (record.getFirstOut() & 0x700000000L) >> 28;
long nextInMod = record.getFirstIn() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (record.getFirstIn() & 0x700000000L) >> 31;
long nextLoopMod = record.getFirstLoop() == Record.NO_NEXT_RELATIONSHIP.intValue() ? 0 : (record.getFirstLoop() & 0x700000000L) >> 28;
// [ , x] in use
// [ ,xxx ] high next id bits
// [ xxx, ] high firstOut bits
cursor.putByte( (byte) (nextOutMod | nextMod | 1) );
// [ ,xxx ] high firstIn bits
// [ xxx, ] high firstLoop bits